This invention relates generally to visualizations of networks of individuals, entities, and network communities, and more particularly to systems and methods for visualizing trust scores within or between individuals or entities or networks of individuals or entities.
A graph is a set of nodes and edges between them. Visualizations of graphs may include depictions of the nodes using circles of a fixed radius, while the edges may be depicted as lines connecting the nodes. Each member in the network community may be represented by a node, and the connections between the members of the network community may be represented by edges connecting the nodes. Relationship data associated with the nodes may possess varying degrees of connectivity information about the member itself and possibly about other members or contacts in the community. Some of this information may be highly credible or objective (e.g., “I trust Seller Sally because she has positive feedback from 90% of the other members of the network community”), while other information may be less credible and subjective (e.g., “I trust Seller Sally because she posts beautiful pictures of her homemade ceramic figures”).
The term “social graph” as used herein refers to a mapping of relationships between individuals or entities using standard graph concepts. A social graph describes relationships in the real world, as well as in online communities that may have no real world equivalent.
Depicting and interacting with such graphs in a meaningful way is challenging. For example, if a network community includes hundreds or thousands of members, then a visualization of the connections between members of that network community may contain so many edge crossings that the exact lines in the visualization become “blacked out”. In addition, it is difficult for visualizations of network communities to depict how prominent or connected individual members of the network community are. For example, uniform depiction of nodes and associated edges (e.g., depictions of nodes with uniform size), because they fail to convey an individual or entity's importance within a network community.
In addition, visualizations of network communities may be difficult to achieve computationally. In one example, calculating the connectivity between each node in a network community may require numerous resource intensive calculations. In another example, visualizing connections between the nodes in a community may require calculation of each possible path between every pair of nodes in the graph. Further, minimizing edge crossings in rendering such paths may require comparisons of each edge with every other edge. These computations may result in a slow rendering of the graph on certain kinds of hardware, such as smartphones.